import pandas as pd
# iterable=pd.read_csv('data.csv',
#                      encoding='utf-8',
#                      sep=',',
#                      header=0,
#                      index_col=0,
#                      names=['name','age','sex'],
#                      na_values=['NULL','N/A']) #分块读取大文件时返回一个可迭代对象
# print(iterable)

#pandas的数据结构 dataframe使用
#构建数据
data=[['google',12],['baidu',13]]#单独某一个元素属于列
df=pd.DataFrame(data,columns=['name','age'])
df['name']=df['name'].astype('str')
df['age']=df['age'].astype('int')
print(df)

#用dict字典的写法
data={'name':['google','baidu','tencent'],'age':[12,13,14]}
df=pd.DataFrame(data) #构建一个dataframe
print(df)
print(df.loc[0])#显示第一行

print(df.loc[1])#显示第二行
print(df.loc[[0,1]])#显示第一、第二行,注意这里是在一个数组里面存在一个数组

#指定行名(行索引)
df=pd.DataFrame(data,index=['day1','day2','day3'])
print(df)
#通过行索引来返回某一行
print(df.loc['day1'])
print(df.loc['day2'])
print(df.loc['day3'])

#按照某一列排序
df_sort=df.sort_values('age',ascending=False)
print(df_sort)

#使用Series一维数组构建dataframe
s1=pd.Series(['Google','Baidu','Tencent'])
s2=pd.Series(['1','2','3'])
df=pd.DataFrame({'name':s1,'age':s2})
print(df.shape)
print(df.columns)
print(df.index)
df['address']=[111,112,113]#新增一列
print(df)
df.loc[3]=['huawei',4,114]#新增一行
print(df.info())
df=df.drop(1)#删除行
print(df)
df=df.drop('age',axis=1)#删除列
print(df)
